// Copyright (c) 2018-2019,  Zhirnov Andrey. For more information see 'LICENSE'

#pragma once

#include "GSStl/Containers/ArrayView.h"
#include "GSStl/Containers/StaticString.h"
#include "GSStl/Containers/FixedArray.h"
#include "GSStl/Containers/FixedMap.h"
#include "GSStl/Containers/Union.h"
#include "GSStl/Containers/Ptr.h"
#include "GSStl/Containers/Optional.h"
#include "GSStl/Math/Bytes.h"
#include "GSStl/Math/Color.h"
#include "GSStl/Math/Math.h"
#include "GSStl/Math/Rectangle.h"
#include "GSStl/Math/Vec.h"
#include "GSStl/Algorithms/Cast.h"
#include "GSStl/Algorithms/EnumUtils.h"
#include "GSStl/Algorithms/ArrayUtils.h"
#include "GSStl/Memory/MemUtils.h"

#include "Meleon/Public/Config.h"
#include <chrono>
#include <atomic>


namespace GS
{
	using namespace GSC;

	using PipelineCompiler	= SharedPtr< class IPipelineCompiler >;
	using FrameGraph		= SharedPtr< class IFrameGraph >;

	using Task				= Ptr< class IFrameGraphTask >;
	
	using Nanoseconds		= std::chrono::nanoseconds;

}	// GS
